[Top] [Contents] [Index] [ ? ]

Table of Contents

1. About the GNU Coding Standards
2. Keeping Free Software Free
2.1 Referring to Proprietary Programs
2.2 Accepting Contributions
3. General Program Design
3.1 Compatibility with Other Implementations
3.2 Using Non-standard Features
3.3 ANSI C and pre-ANSI C
3.4 Using Languages Other Than C
4. Program Behavior for All Programs
4.1 Writing Robust Programs
4.2 Library Behavior
4.3 Formatting Error Messages
4.4 Standards for Command Line Interfaces
4.5 Table of Long Options
4.6 Memory Usage
5. Making The Best Use of C
5.1 Formatting Your Source Code
5.2 Commenting Your Work
5.3 Clean Use of C Constructs
5.4 Naming Variables and Functions
5.5 Portability between System Types
5.6 Portability between CPUs
5.7 Calling System Functions
5.8 Internationalization
5.9 Mmap
6. Documenting Programs
6.1 GNU Manuals
6.2 Manual Structure Details
6.3 The NEWS File
6.4 Change Logs
6.4.1 Change Log Concepts
6.4.2 Style of Change Logs
6.4.3 Simple Changes
6.4.4 Conditional Changes
6.5 Man Pages
6.6 Reading other Manuals
7. The Release Process
7.1 How Configuration Should Work
7.2 Makefile Conventions
7.2.1 General Conventions for Makefiles
7.2.2 Utilities in Makefiles
7.2.3 Variables for Specifying Commands
7.2.4 Variables for Installation Directories
7.2.5 Standard Targets for Users
7.2.6 Install Command Categories
7.3 Making Releases


This document was generated by MIPS Technologies, Inc. on September, 12 2003 using texi2html